package cn.zou.core.json;

import java.io.IOException;

import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;

/**
 * javaBen 转换成json数据集
 * @author zoujin
 *
 */
public class JSONUtils {
	public static final String noDate="${\"return\":null}";
    public static ObjectMapper om;
	static{
		om=new ObjectMapper();
		//去除掉空值数据
		om.setSerializationInclusion(Inclusion.NON_NULL);
	}
	/**
	 * object 转json
	 * @param obj
	 * @return
	 */
	public static String objectTwoJson(Object obj){
		if(obj ==null){
			return noDate;
		}else{
			try {
				return om.writeValueAsString(obj);
			} catch (Exception e) {
				// TODO 自动生成的 catch 块
				e.printStackTrace();
				return noDate;
			}
		}
	}
	/**
	 * json转Object
	 * @param json
	 * @return
	 */
	public static Object jsonTwObkect(String json){
		try {
			return om.readTree(json);
		} catch (JsonProcessingException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
			return null;
		} catch (IOException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
			return null;
		}
	}
   
}
